home *** CD-ROM | disk | FTP | other *** search
/ MacFormat UK 160 - Disc 1 / MF_UK_160_1.iso / pc / DiscContent / FullSoftware / Amapi61MacEn / Amapi 3D 6.1 Installer / 3SPACE / ChangeGeometryBehavior.js < prev    next >
Encoding:
Text File  |  2001-02-20  |  1.6 KB  |  65 lines  |  [AMAS/AMAP]

  1. // -* ChangeGeometryBehavior.js *-
  2. //
  3. // Name: ChangeGeometry behavior
  4. // Description: 
  5. // Author:
  6. // Version: $Id: ChangeGeometryBehavior.js,v 1.5 2000/12/21 15:03:30 consumer Exp $
  7. //
  8.  
  9. // Keep an array of the solids using this behavior
  10. var changeGeometrySolids = new Array(1);
  11.  
  12. function ChangeGeometryBehavior(solidName, geom, geomName)
  13. {
  14.   // Member methods of the behavior
  15.   this.start = ChangeGeometryBehaviorStart;
  16.   this.stop = ChangeGeometryBehaviorStop;
  17.   
  18.   // Member variables of the behavior
  19.   this.solidID = solidName;
  20.   this.geomID = geom;
  21.   this.geomName = geomName;
  22. }
  23.  
  24. function ChangeGeometryBehaviorStart()
  25. {
  26.   // Destroy the geom node
  27.   TSRemoveNode(this.geomID);
  28.  
  29.   var newGeomID = TSMakeUniqID("Geom");
  30.   TSMakeGeomURL(newGeomID, "ThreeSpaceTest.z3d", this.geomName);
  31.  
  32.   TSAppendChild(this.solidID, newGeomID);
  33.   TSUpdateNode(newGeomID);
  34. }
  35.  
  36. function ChangeGeometryBehaviorStop()
  37. {
  38. }
  39.  
  40. //
  41. // Event functions
  42. //
  43.  
  44. function ChangeGeometryBehaviorStartEvent(obj, event)
  45. {
  46.   if (changeGeometrySolids[obj] == null) {
  47.     var geomName = TSGetExtraParam(event, 'geomName');
  48.     var geom = TSGetExtraParam(event, 'geom');
  49.     var scale = TSGetExtraParam(event, 'scale');
  50.     var targetSolid = TSGetExtraParam(event, 'targetSolid');
  51.  
  52.     if (targetSolid == "")
  53.       changeGeometrySolids[obj] = new ChangeGeometryBehavior(obj, geom, geomName, scale);
  54.     else
  55.       changeGeometrySolids[obj] = new ChangeGeometryBehavior(targetSolid, geom, geomName, scale);
  56.   }
  57.  
  58.   changeGeometrySolids[obj].start();
  59.   changeGeometrySolids[obj] = null;
  60. }
  61.  
  62. function ChangeGeometryBehaviorStopEvent(obj, event)
  63. {
  64. }
  65.